跳到主要内容

Julia 字符串

阐述

字符串由 AbstractString 抽象类型及其子类型定义。

具象类型

子类型 String <: AbstractString 是用 UTF-8 编码表示的 Unicode 字符构成的字符串。字符串是不可变的。

相关方法

  • 取下标(getindex):是字节的下标,不是字符的下标,所以不是每个下标都合法
  • 切片
  • 视图 substr = SubString(str, 1, 4)
  • 函数 firstindex(s) 总是返回 1,但 lastindex(s) 不一定与长度一样
  • prevind(s, lastindex(s), 2) 来获得正确的索引
  • 用迭代器直接获取各个字符
  • codeunit(s, i) 访问编码后的值
  • 连接(乘法或 string()
  • 插值

实例

字面值

  • 双引号:包含的双引号用 \ 转义,可以用 \ 换行
  • 三个双引号:会自动去缩进到最小缩进的一行
  • 字面值中可以包括转义

自定义字符串字面值

正则表达式实际上是一个具有特殊语法的宏:

macro r_str(p)
Regex(p)
end

这样,我们就能使用 r"string" 这样的表达了。

另外,我们也可以定义特殊的命令字面值,通过 cliteral 我们实际上获得的是 @c_cmd "literal"

性质

相关内容

参考文献